Efficient compilation of concurrent call/return communication in actor-based programming languages
نویسندگان
چکیده
Concurrent call/return communication (CCRC) allows programmers to conveniently express a communication pattern where a sender invokes a remote operation and uses the result to continue its computation. The blocking semantics requires context switching for eecient utilization of computation resource. We present a compilation technique which allows programmers to use CCRC with the cost of non-blocking asynchronous communication plus minimum context switch cost. The technique transforms CCRCs into non-blocking asyn-chronous sends and encapsulates continuations into separate objects. A data ow analysis is used to guarantee that only necessary context is cached in continuation objects.
منابع مشابه
SALSA Lite: A Hash-Based Actor Runtime for Efficient Local Concurrency
As modern computer processors continue becoming more parallel, the actor model plays an increasingly important role in helping develop correct concurrent systems. In this paper, we consider efficient runtime strategies for non-distributed actor programming languages. While the focus is on a non-distributed implementation, it serves as a platform for a future efficient distributed implementation...
متن کاملA Programming Language for Teaching Concurrent Object-Oriented Concepts
Studying concurrency one of the major difficulties is the need for a variety of programming languages to be available. But expecting students to learn at the same time a lot of languages is clearly undesirable. Concurrent object-oriented concepts can be understood more successfully if we have a programming language furnishing us with different kind of tools expressing concurrency and object-ori...
متن کاملAn E cient Compilation Framework for Languages Based on Concurrent Process Calculus
We propose a framework for compiling programming languages based on concurrent process calculi, in which any computation is expressed by a combination of processes and communication channels. Our compilation framework realizes a fast dynamic process creation and a low-cost communication between processes. In the framework, a representation of a channel is not allocated in heap, but just put on ...
متن کاملSemantics-Based Analysis for Optimizing Compilation of Concurrent Programs
Concurrent programming languages provide a paradigm for describing programs with complicated communication networks in a clear way. They support the creation of multiple computational units called processes that run concurrently in a program together with the mechanism for communication between processes, thereby simplifying the programming of synchronization and communication. Among them, conc...
متن کاملMonitoring Erlang/OTP Applications using Multiparty Session Types
The actor model has emerged as a programming paradigm particularly suited to programming concurrent and distributed systems. Programming languages based on the actor model consist of lightweight processes which do not communicate using shared memory, relying instead on explicit message passing. Consequently, programming languages built on the actor model avoid many of the pitfalls associated wi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996